1616B - Mirror in the String - CodeForces Solution


greedy strings *1100

Please click on ads to support us..

Python Code:

te=int(input())
while(te>0):
	l=int(input())
	s=input()
	e=''
	fm=0
	flag=0
	i=0
	pos=-1
	for i in range(l-1):
		if ord(s[i])>ord(s[i+1]):
			if s[i]!='a':
				fm=1
				pos=i+1
		elif s[i+1]==s[i] and fm==1:
				pos=i+1
		else:
			pos=i
			break
	a=''
	len=(i+1)*2
	i=0
	for i in range(pos+1):
		a=a+s[i]
	k=pos+1
	t=pos
	while(t>=0):
		a=a+a[t]
		t=t-1
	if l==1:
		a=s+s
	print(a)
	te=te-1		

C++ Code:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
    int t;
    cin>>t;
    while(t--){
        int n;cin>>n;
        string s;cin>>s;
        int k=1;
        while((s[k-1]>s[k] && k<n) || (k>1 && s[k]==s[k-1]) ){
            k++;
        }
        for(int i=0;i<k;i++){
            cout<<s[i];
        }
        for(int i=k-1;i>=0;i--){
            cout<<s[i];
        }cout<<endl;
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

1157E - Minimum Array
1661D - Progressions Covering
262A - Roma and Lucky Numbers
1634B - Fortune Telling
1358A - Park Lighting
253C - Text Editor
365B - The Fibonacci Segment
75A - Life Without Zeros
1519A - Red and Blue Beans
466A - Cheap Travel
659E - New Reform
1385B - Restore the Permutation by Merger
706A - Beru-taxi
686A - Free Ice Cream
1358D - The Best Vacation
1620B - Triangles on a Rectangle
999C - Alphabetic Removals
1634C - OKEA
1368C - Even Picture
1505F - Math
1473A - Replacing Elements
959A - Mahmoud and Ehab and the even-odd game
78B - Easter Eggs
1455B - Jumps
1225C - p-binary
1525D - Armchairs
1257A - Two Rival Students
1415A - Prison Break
1271A - Suits
259B - Little Elephant and Magic Square